In an environment of disparate information systems having dissimilar communication and/or data storage formats, an interface engine is used to facilitate intercommunication between the disparate systems through appropriate network mapping and communication/data format transformations. Most interface engines today enforce safe sequential processing by filing one message at a time, even if none of the messages on the message queue are related (e.g. content in each of the related messages corresponds to a single entity). Sequential processing can help guarantee that the order of receipt of the related messages by a target system of the information systems is in the same as the order of message receipt by the interface engine, but sequential processing is also the slowest mechanism. Sequential processing also increases the risk of a single erroneous message blocking up the entire message queue creating undesirable down-time. To help get around this performance barrier, some interface engines opt to process messages in parallel. Parallel processing can dramatically increase the message throughput of the interface engine, however at the cost of potentially processing messages out of sequence. Accordingly, receipt of messages out of their original order in order critical environments, such as health care, can be an unsafe practice.
Therefore, maintaining the order of messages by the interface engine is important. For example, in the health care industry, messages processed out of order can lead to incomplete patient records, additional overhead for support staff, and in the worst case improper diagnosis or patient injury.
The systems and methods disclosed herein provide a system for providing parallel processing of messages by an integration engine to obviate or mitigate at least some of the above-presented disadvantages.